package main

import (
	_ "RoccBlog/api/v1"
	"RoccBlog/global"
	"RoccBlog/initalize"
	_ "RoccBlog/service/v1"
	"fmt"
	"github.com/gin-gonic/gin"
	"log"
)

// @title Rocc博客
// @version 1.0
// @description golang 完成一个rabc的博客系统
// @contact.name dpengchen@163.com
// @host 127.0.0.1
func main() {

	// 初始化配置文件
	global.Config = initalize.InitConfig()
	global.RedisClient = initalize.InitRedis(global.Config.Redis)
	// 初始化数据库
	global.DB = initalize.InitGorm(global.Config.Database)
	initalize.RegisterDatabaseTable(global.DB, global.GetModelContainerValueSplice()...)
	// 创建执行器
	global.CaSbin = initalize.CaSbinInit()
	// 初始化路由
	var engine *gin.Engine
	engine, global.Router = initalize.InitRouter()
	// 注册路由
	global.RegisterRouter(global.Router)

	//设置全局缓存
	initalize.RefreshAllCache()

	//启动
	if err := engine.Run(fmt.Sprintf(":%d", global.Config.Server.Port)); err != nil {
		log.Fatalln("启动失败", err.Error())
	}
}
